package next.SupportFunctionality;

import next.TestFunctionality.TestSMS;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;

public class SMSReceiver extends BroadcastReceiver  {
	
		private String Owner=new String("");
	    /**This function enable to receive message through application */
    	@Override
    	public void onReceive(Context context, Intent intent) {
    		
    		// ---get the SMS message passed in---
    		Bundle bundle = intent.getExtras();
    		SmsMessage[] msgs = null;
    		String str = "";
    		if (bundle != null) {
    			// ---retrieve the SMS message received---
    			Object[] pdus = (Object[]) bundle.get("pdus");
    			msgs = new SmsMessage[pdus.length];
    			for (int i = 0; i < msgs.length; i++) {
    				msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
    				Owner+=msgs[i].getOriginatingAddress();
    				str += "SMS from " + msgs[i].getOriginatingAddress();
    				str += " :";
    				str += msgs[i].getMessageBody().toString();
    				str += "\n";
    			}
    			// ---display the new SMS message---
    			Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
    			
    			//---launch the MainActivity---
    			Intent mainActivityIntent = new Intent(context, TestSMS.class);
    			mainActivityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    			context.startActivity(mainActivityIntent);

    			// ---send a broadcast intent to update the SMS received in the
    			// activity---
    			Intent broadcastIntent = new Intent();
    			broadcastIntent.setAction("SMS_RECEIVED_ACTION");
    			broadcastIntent.putExtra("sms", "Your last message sended to:" +Owner+ " was answered." );
    			context.sendBroadcast(broadcastIntent);
    		}
    	}
}
	


	

